package org.javahispano.javacup.modelo.engine;

import org.javahispano.javacup.render.EstiloUniforme;
import java.awt.Color;
import java.io.Serializable;
import org.javahispano.javacup.modelo.JugadorDetalle;
import org.javahispano.javacup.modelo.TacticaDetalle;

/**Implementación de TacticaDetalle, usada internamente*/
 final class TacticaDetalleImpl implements TacticaDetalle, Serializable {
	private static final long serialVersionUID = 1L;

    private final String nombre;
    private final String pais;
    private final String entrenador;
    private final Color colorCamiseta;
    private final Color colorPantalon;
    private final Color colorCalcetas;
    private final Color colorFranja;
    private final Color colorPortero;
    private final EstiloUniforme estilo;
    private final Color colorCamiseta2;
    private final Color colorPantalon2;
    private final Color colorCalcetas2;
    private final Color colorFranja2;
    private final Color colorPortero2;
    private final EstiloUniforme estilo2;
    private final JugadorImpl[] jugadores = new JugadorImpl[11];

	/**Copia el detalle y deja inmutables sus valores*/
    TacticaDetalleImpl(TacticaDetalle impl) {
        this.nombre = impl.getNombre();
        this.pais = impl.getPais();
        this.entrenador = impl.getEntrenador();
        this.colorCamiseta = impl.getColorCamiseta();
        this.colorPantalon = impl.getColorPantalon();
        this.colorCalcetas = impl.getColorCalcetas();
        this.colorFranja = impl.getColorFranja();
        this.colorPortero = impl.getColorPortero();
        this.estilo = impl.getEstilo();
        this.colorCamiseta2 = impl.getColorCamiseta2();
        this.colorPantalon2 = impl.getColorPantalon2();
        this.colorCalcetas2 = impl.getColorCalcetas2();
        this.colorFranja2 = impl.getColorFranja2();
        this.colorPortero2 = impl.getColorPortero2();
        this.estilo2 = impl.getEstilo2();
        for (int i = 0; i < 11; i++) {
            this.jugadores[i] = new JugadorImpl(impl.getJugadores()[i]);
        }
    }

	@Override
    public String getNombre() {
        return nombre;
    }

	@Override
    public String getPais() {
        return pais;
    }

	@Override
    public String getEntrenador() {
        return entrenador;
    }

	@Override
    public Color getColorCamiseta() {
        return colorCamiseta;
    }

	@Override
    public Color getColorPantalon() {
        return colorPantalon;
    }

	@Override
    public Color getColorFranja() {
        return colorFranja;
    }

	@Override
    public Color getColorCalcetas() {
        return colorCalcetas;
    }

	@Override
    public EstiloUniforme getEstilo() {
        return estilo;
    }

	@Override
    public JugadorDetalle[] getJugadores() {
        return jugadores;
    }

	@Override
    public Color getColorPortero() {
        return colorPortero;
    }

    @Override
    public Color getColorCamiseta2() {
        return colorCamiseta2;
    }

    @Override
    public Color getColorPantalon2() {
        return colorPantalon2;
    }

    @Override
    public Color getColorFranja2() {
        return colorFranja2;
    }

    @Override
    public Color getColorCalcetas2() {
        return colorCalcetas2;
    }

    @Override
    public Color getColorPortero2() {
        return colorPortero2;
    }

    @Override
    public EstiloUniforme getEstilo2() {
        return estilo2;
    }
}

